home *** CD-ROM | disk | FTP | other *** search
/ ETO Development Tools 4 / ETO Development Tools 4.iso / Tools - Objects / MacApp / MacApp 3.0a2 / CPlusIncludes / EPPC.h < prev    next >
Text File  |  1991-05-01  |  3KB  |  131 lines

  1. /************************************************************
  2.  
  3. Created: Sunday, January 6, 1991 at 9:10 PM
  4.     EPPC.h
  5.     C Interface to the Macintosh Libraries
  6.  
  7.  
  8.         Copyright Apple Computer, Inc.    1988-1990
  9.         All rights reserved
  10.  
  11. ************************************************************/
  12.  
  13.  
  14. #ifndef __EPPC__
  15. #define __EPPC__
  16.  
  17. #ifndef __PPCTOOLBOX__
  18. #include <PPCToolbox.h>
  19. #endif
  20.  
  21. #ifndef __PROCESSES__
  22. #include <Processes.h>
  23. #endif
  24.  
  25. #ifndef __EVENTS__
  26. #include <Events.h>
  27. #endif
  28.  
  29.  
  30. enum {
  31.  
  32.     kHighLevelEvent = 23,
  33.  
  34. /* postOptions currently supported */
  35.     receiverIDMask = 0x0000F000,
  36.     receiverIDisPSN = 0x00008000,
  37.     receiverIDisSignature = 0x00007000,
  38.     receiverIDisSessionID = 0x00006000,
  39.     receiverIDisTargetID = 0x00005000,
  40.  
  41.     systemOptionsMask = 0x00000F00,
  42.     nReturnReceipt = 0x00000200,
  43.  
  44.     priorityMask = 0x000000FF,
  45.     nAttnMsg = 0x00000001,
  46.  
  47.  
  48. /* error returns from Post and Accept */
  49.  
  50.     bufferIsSmall = -607,
  51.     noOutstandingHLE = -608,
  52.     connectionInvalid = -609,
  53.     noUserInteractionAllowed = -610,    /* no user interaction allowed */
  54.  
  55. /* constant for return receipts */
  56.  
  57.  
  58. #define HighLevelEventMsgClass 'jaym'
  59. #define rtrnReceiptMsgID 'rtrn'
  60.  
  61.     msgWasPartiallyAccepted = 2,
  62.     msgWasFullyAccepted = 1,
  63.     msgWasNotAccepted = 0
  64. };
  65.  
  66. struct TargetID {
  67.     long sessionID;
  68.     PPCPortRec name;
  69.     LocationNameRec location;
  70.     PPCPortRec recvrName;
  71. };
  72.  
  73. typedef TargetID *TargetIDPtr, **TargetIDHdl;
  74.  
  75.  
  76. typedef TargetID SenderID;
  77. typedef SenderID *SenderIDPtr;
  78.  
  79. struct HighLevelEventMsg {
  80.     unsigned short HighLevelEventMsgHeaderLength;
  81.     unsigned short version;
  82.     unsigned long reserved1;
  83.     EventRecord theMsgEvent;
  84.     unsigned long userRefcon;
  85.     unsigned long postingOptions;
  86.     unsigned long msgLength;
  87. };
  88.  
  89. typedef struct HighLevelEventMsg HighLevelEventMsg;
  90. typedef HighLevelEventMsg *HighLevelEventMsgPtr, **HighLevelEventMsgHdl;
  91.  
  92.  
  93. #ifdef __cplusplus
  94. extern "C" {
  95. #endif
  96. pascal OSErr PostHighLevelEvent(const EventRecord& theEvent,
  97.                                 unsigned long receiverID,
  98.                                 unsigned long msgRefcon,
  99.                                 Ptr msgBuff,
  100.                                 unsigned long msgLen,
  101.                                 unsigned long postingOptions)
  102.     = {0x3F3C,0x0034,0xA88F}; 
  103. pascal OSErr AcceptHighLevelEvent(TargetID& sender,
  104.                                   unsigned long& msgRefcon,
  105.                                   Ptr msgBuff,
  106.                                   unsigned long& msgLen)
  107.     = {0x3F3C,0x0033,0xA88F}; 
  108. pascal OSErr GetProcessSerialNumberFromPortName(const PPCPortPtr portName,
  109.     ProcessSerialNumberPtr pPSN)
  110.     = {0x3F3C,0x0035,0xA88F}; 
  111. pascal OSErr GetPortNameFromProcessSerialNumber(PPCPortPtr portName,const ProcessSerialNumberPtr pPSN)
  112.     = {0x3F3C,0x0046,0xA88F}; 
  113. #ifdef __cplusplus
  114. }
  115. #endif
  116. typedef pascal Boolean (*GetSpecificFilterProcPtr) (void *yourDataPtr,
  117.      HighLevelEventMsgPtr msgBuff,
  118.      const TargetID& sender);
  119.  
  120. #ifdef __cplusplus
  121. extern "C" {
  122. #endif
  123. pascal Boolean GetSpecificHighLevelEvent(GetSpecificFilterProcPtr aFilter,
  124.     void *yourDataPtr,OSErr& err)
  125.     = {0x3F3C,0x0045,0xA88F}; 
  126. #ifdef __cplusplus
  127. }
  128. #endif
  129.  
  130. #endif
  131.